package partFour.homeWork.code.code01;

/**
 * 定义一个学校信息的类，并提供了公有的set get 方法，对学校信息进行修改与读取。
 * 同时重写了toString  方法，来实现对学生信息的打印。
 */
public class Student implements java.io.Serializable{
    private static final long serialVersionUID = 1981258792580056133L;
    private int age;
    private int id;
    private String name;


    public Student() {
    }

    public Student(int age, int id, String name) {
        setAge(age);
        setId(id);
        setName(name);
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if (age>=5 && age<=30) {
            this.age = age;
        }else {
//            就地捕获，并抛出异常！
            try {
                throw new AgeException("学生的年纪不合法！请重新输入");
            } catch (AgeException e) {
                e.printStackTrace();
            }
        }
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        if (id >0) {
            this.id = id;
        } else {
            try {
                throw new StuIdException("输入的学号不合法! 请重新输入：");
            } catch (StuIdException e) {
                e.printStackTrace();
            }
        }
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "age=" + age +
                ", id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}
